/*
 * binalbero.h
 *
 *  Created on: 25/nov/2014
 *      Author: Gabriel
 */

#ifndef BINALBERO_H_
#define BINALBERO_H_

#include <iostream>
#include "nodo.h"
typedef bool boolean;

class Binalbero{
public:
	Binalbero();
	~Binalbero();
	void creaBinalbero();
	boolean Binalberovuoto();
	Nodo * radice();
	Nodo * padre(Nodo);
	Nodo * figlioSinistro(Nodo);
	Nodo * figlioDestro(Nodo);
	boolean Sinistrovuoto(Nodo);
	boolean Destrovuoto(Nodo);
	tipoelem LeggiNodo(Nodo*);
	void Scrivinodo(tipoelem,Nodo*);
	void Insradice();
	void Insfigliosinistro(Nodo);
	void Insfigliodestro(Nodo);
	void Cancsottobinalbero(Nodo*);
private:
	Nodo * albero;
};



#endif /* BINALBERO_H_ */
